/**
 *
 */
package org.me.client;

/**
 * @author Yo
 *
 */
public class VariablenReihe {
	private Variable[] variablen;

	public int length() {
		return this.getVariablen().length;
	}

	public NummerMatrix variablenAbzuschaetzen() throws FehlungDerVariable {
		Number[][] sErgebnis = new Number[variablen.length][1];
		for (int i = 0; i < sErgebnis.length; i++) {
			sErgebnis[i][0] = getVariablen()[i].getGegenwert();
		}
		return new NummerMatrix(sErgebnis);
	}

	public void variablenSetzen(Number[] var_0) throws FehlungDerVariable {
		if (var_0.length != variablen.length) {
			throw new FehlungDerVariable("len(var)!=len(var_0)", getVariablen());
		}
		for (int i = 0; i < var_0.length; i++) {
			getVariablen()[i].setGegenwert(var_0[i]);
		}
	}

	public VariablenReihe(Variable[] var)  {
		this.variablen=new Variable[var.length];
		for (int i = 0; i < var.length; i++) {
			this.variablen[i]=new Variable(var[i].getName(),var[i].getVerzeichnis(),new Double(var[i].gegenwert.doubleValue()));
		}
	}

	public VariablenReihe(VariablenReihe var){
		this.variablen=new Variable[var.length()];
		for (int i = 0; i < var.length(); i++) {
			Variable var_i=var.getVariablen()[i];
			try {
				this.variablen[i]=new Variable(var_i.getName(),var_i.getVerzeichnis(),var_i.getGegenwert());
			} catch (FehlungDerVariable e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * @return the variablen
	 */
	public Variable[] getVariablen() {
		return variablen;
	}

}
